﻿using System.ComponentModel;

namespace YouShuCode.Models
{
    [Flags]
    public enum ApiName : short
    {
        [Description("有数聚")]
        YouShu = 1,

        [Description("芝麻信用")]
        ZhiMa = 2,
        [Description("OEFacade")]
        OEFacade = 3,
        [Description("EQ")]
        EQ = 4,
        [Description("ShouDao")]
        ShouDao = 5
    }

    [Flags]
    public enum APIConectionStatus : short
    {
        New = 1,
        Requested = 2,
        DirectReturn = 3,
        Error = 4,
        Failed = 5
    }

    [Flags]
    public enum ActionType : short
    {
        Get = 1,
        Post = 2,
        Delete = 3,
        SDK = 4,
        WCF = 5
    }

    [Flags]
    public enum RecordStatus : short
    {
        Effective = 1,
        Expired = 2
    }

    [Flags]
    public enum ErrorCode : int
    {
        /// <summary>
        /// BusinessDirectorLicense
        /// </summary>

        [Description("Business Scope Validation Failed")]
        BusinessScopeValidationFailed = 10000,

        [Description("白名单校验错误")]
        CompareRosterValidationFailed = 10001,

        [Description("本人已经存在相关执照")]
        BDLExists = 10002,

        [Description("黑名单验证")]
        BlackList = 10003,

        [Description("服务网点协议执照名称对比不匹配")]
        ServiceCentersLicenseName = 10004,


        /// <summary>
        /// BankAccount
        /// </summary>
        [Description("BankAccount Validation Failed")]
        BankAccountValidationFailed = 20000,

        /// <summary>
        /// YouShu
        /// </summary>
        [Description("YouShu Company Name Validation Failed")]
        YouShuCompanyNameValidationFailed = 30000,

        [Description("YouShu Legal Person Validation Failed")]
        YouShuLegalPersonValidationFailed = 30001,
        [Description("注册号或社会信用代码校验错误")]
        YouShuRegNoValidationFailed = 30002,

        [Description("企业执照状态错误")]
        YouShuEntStatusFailed = 30003,

        [Description("获取省市区数据发生错误")]
        FailureGetProvinceCityCoutryInfo = 50001,

        [Description("有数执照法人姓名与系统原有执照法人姓名不匹配")]
        InvaildYouShuNameOnLicense = 50002,

        [Description("获取执照信息失败")]
        FailureGetBDLInfo = 50003,

        [Description("ContactID不能为空")]
        InvaildContactID = 60001,

        [Description("省市不能为空")]
        InvaildProvinceOrCity = 60002,

        [Description("开户银行账户名称不能为空")]
        InvaildBankAccountName = 60003,
        [Description("开户银行名称不能为空")]
        EmptyBankName = 60004,
        [Description("开户银行名称不能包含字符*")]
        InvaildBankName = 60005,
        [Description("开户银行账号不能为空")]
        EmptyBankAccountNumber = 60006,
        [Description("开户银行账号格式不正确，只能包含字母和数字,且至少4位")]
        InvaildBankAccountNumber = 60007,
        [Description("支付系统行号不能为空")]
        EmptyBankNumber = 60008,
        [Description("支付系统行号格式不正确,必须为12位数字 ")]
        InvaildBankNumber = 60009,

        /// <summary>
        /// Application Exception Error
        /// </summary>
        ApplicationError = -1,

        /// <summary>
        /// Business Error
        /// </summary>
        BussinessError = 1
    }
}
